import type { PageParam, PageResult } from '@vben/request';
import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';

export namespace TasksApi {
    /** 任务派工信息 */
  export interface Tasks {
            id: number; // 主键ID
            technicianId?: number; // 技师ID
            projectName?: string; // 项目名称
            status?: string; // 任务状态
            roomNumber?: string; // 房间号
            duration?: localtime; // 应钟时长
            dispatchMethod?: string; // 派工方式
            handCardId: number; // 关联手牌ID
            startTime: string | Dayjs; // 开始时间
            endTime: string | Dayjs; // 结束时间
            actualDuration: localtime; // 实际时长
      }
}

/** 查询任务派工分页 */
export function getTasksPage(params: PageParam) {
  return requestClient.get<PageResult<TasksApi.Tasks>>('/spa/tasks/page', { params });
}

/** 查询任务派工详情 */
export function getTasks(id: number) {
  return requestClient.get<TasksApi.Tasks>(`/spa/tasks/get?id=${id}`);
}

/** 新增任务派工 */
export function createTasks(data: TasksApi.Tasks) {
  return requestClient.post('/spa/tasks/create', data);
}

/** 修改任务派工 */
export function updateTasks(data: TasksApi.Tasks) {
  return requestClient.put('/spa/tasks/update', data);
}

/** 删除任务派工 */
export function deleteTasks(id: number) {
  return requestClient.delete(`/spa/tasks/delete?id=${id}`);
}

/** 批量删除任务派工 */
export function deleteTasksList(ids: number[]) {
  return requestClient.delete(`/spa/tasks/delete-list?ids=${ids.join(',')}`)
}

/** 导出任务派工 */
export function exportTasks(params: any) {
  return requestClient.download('/spa/tasks/export-excel', params);
}

